VBA তে Loops: For, For Each, Do While, এবং Do Until
VBA (Visual Basic for Applications) তে লুপ (loop) ব্যবহারের মাধ্যমে আমরা নির্দিষ্ট কাজ বা কার্যক্রম পুনরাবৃত্তি করতে পারি। বিভিন্ন ধরণের লুপ রয়েছে যা আমাদের কোডের কার্যকারিতা বৃদ্ধি করতে সাহায্য করে। নিচে আমরা চারটি প্রধান ধরনের লুপ— For, For Each, Do While, এবং Do Until— এর ব্যবহার এবং উদাহরণ দেখব।
1. For Loop (ফর লুপ)
For Loop হলো একটি নির্দিষ্ট সংখ্যা বা সীমা পর্যন্ত কাজ করার জন্য ব্যবহৃত লুপ। এটি সাধারণত পূর্বনির্ধারিত পুনরাবৃত্তির জন্য ব্যবহৃত হয়।
For Loop এর Sintax:
For counter = startValue To endValue [Step stepValue]
' কোড যা পুনরাবৃত্তি হবে
Next counter- counter: এটি একটি ভেরিয়েবল যা লুপের প্রতি পুনরাবৃত্তিতে মান পরিবর্তন করে।
- startValue: লুপের প্রথম মান।
- endValue: লুপের শেষ মান।
- stepValue: (ঐচ্ছিক) প্রতি পুনরাবৃত্তিতে কতটা বাড়ানো হবে।
For Loop এর উদাহরণ:
Sub ForLoopExample()
Dim i As Integer
For i = 1 To 5
MsgBox "The value of i is " & i
Next i
End Subএখানে, লুপটি 1 থেকে 5 পর্যন্ত চলে এবং প্রতি ইটারেশনে i এর মান প্রদর্শন করবে। আউটপুট হবে:
- The value of i is 1
- The value of i is 2
- The value of i is 3
- The value of i is 4
- The value of i is 5
Step Value সহ উদাহরণ:
Sub ForLoopWithStep()
Dim i As Integer
For i = 1 To 10 Step 2
MsgBox "The value of i is " & i
Next i
End Subএখানে, Step 2 দিয়ে প্রতি পুনরাবৃত্তিতে i এর মান ২ করে বাড়ানো হবে। আউটপুট হবে:
- The value of i is 1
- The value of i is 3
- The value of i is 5
- The value of i is 7
- The value of i is 9
2. For Each Loop (ফর ইচ লুপ)
For Each Loop সাধারণত একটি সংগ্রহ (collection) বা অ্যারের উপর প্রতিটি আইটেমের জন্য কাজ করার জন্য ব্যবহৃত হয়। এটি সেই সকল ক্ষেত্রে ব্যবহার করা হয় যেখানে লিস্ট বা অ্যারে উপাদানগুলোর মাধ্যমে কাজ করতে হয়।
For Each Loop এর Sintax:
For Each element In collection
' কোড যা প্রতিটি উপাদান জন্য পুনরাবৃত্তি হবে
Next element- element: এটি ঐ উপাদানকে নির্দেশ করে যা লুপের মাধ্যমে একে একে পাওয়া যাবে।
- collection: এটি একটি অ্যারে, রেঞ্জ বা অন্য কোনো সংগ্রহ হতে পারে।
For Each Loop এর উদাহরণ:
Sub ForEachLoopExample()
Dim cell As Range
For Each cell In Range("A1:A5")
cell.Value = "Hello"
Next cell
End Subএখানে, Range("A1:A5") এর প্রতিটি সেলে "Hello" বসানো হবে। আউটপুট: A1 থেকে A5 সেলগুলোতে "Hello" লেখা থাকবে।
3. Do While Loop (ডু হোয়াইল লুপ)
Do While Loop একটি শর্তভিত্তিক লুপ, যা তখন পর্যন্ত চলতে থাকে যতক্ষণ না শর্ত পূর্ণ হয়। যদি শর্ত প্রথমে মিথ্যা হয় তবে লুপটি একবারও চলবে না।
Do While Loop এর Sintax:
Do While condition
' কোড যা শর্ত মেনে চলবে
Loop- condition: এটি একটি শর্ত যা True হলে লুপ চলতে থাকবে। যদি শর্ত False হয়, লুপ বন্ধ হয়ে যাবে।
Do While Loop এর উদাহরণ:
Sub DoWhileExample()
Dim i As Integer
i = 1
Do While i <= 5
MsgBox "The value of i is " & i
i = i + 1
Loop
End Subএখানে, লুপটি i এর মান ৫ এর সমান বা তার কম হওয়া পর্যন্ত চলবে এবং প্রতি পুনরাবৃত্তিতে i এর মান দেখাবে। আউটপুট হবে:
- The value of i is 1
- The value of i is 2
- The value of i is 3
- The value of i is 4
- The value of i is 5
4. Do Until Loop (ডু আনটিল লুপ)
Do Until Loop একটি শর্তভিত্তিক লুপ যা তখন পর্যন্ত চলতে থাকে যতক্ষণ না শর্ত পূর্ণ না হয় (অর্থাৎ, শর্তটি False হওয়া পর্যন্ত)। Do While Loop এর বিপরীত হিসাবে কাজ করে।
Do Until Loop এর Sintax:
Do Until condition
' কোড যা শর্ত মেনে চলবে
Loop- condition: এটি একটি শর্ত যা False হলে লুপ চলতে থাকবে। শর্তটি True হলে লুপ বন্ধ হবে।
Do Until Loop এর উদাহরণ:
Sub DoUntilExample()
Dim i As Integer
i = 1
Do Until i > 5
MsgBox "The value of i is " & i
i = i + 1
Loop
End Subএখানে, লুপটি i এর মান 5 এর বেশি না হওয়া পর্যন্ত চলবে এবং প্রতি পুনরাবৃত্তিতে i এর মান দেখাবে। আউটপুট হবে:
- The value of i is 1
- The value of i is 2
- The value of i is 3
- The value of i is 4
- The value of i is 5
Loops এর মধ্যে পার্থক্য:
| লুপ | বর্ণনা | শর্ত |
|---|---|---|
| For Loop | নির্দিষ্ট সংখ্যক পুনরাবৃত্তি করতে ব্যবহৃত হয়। | এক বা একাধিক পুনরাবৃত্তির জন্য |
| For Each Loop | একটি সংগ্রহ বা অ্যারের প্রতিটি উপাদান নিয়ে কাজ করতে ব্যবহৃত হয়। | সংগ্রহের প্রতিটি আইটেমের জন্য |
| Do While Loop | একটি শর্ত পূর্ণ না হওয়া পর্যন্ত কাজ করতে ব্যবহৃত হয়। | শর্ত সত্য হলে চলতে থাকে |
| Do Until Loop | একটি শর্ত পূর্ণ হওয়া পর্যন্ত কাজ করতে ব্যবহৃত হয়। | শর্ত মিথ্যা হলে চলতে থাকে |
উপসংহার
VBA তে loops ব্যবহারের মাধ্যমে আমরা সহজেই কোনো কোডকে একাধিকবার কার্যকরী করতে পারি। For এবং For Each লুপ নির্দিষ্ট পরিমাণে কাজ করতে ব্যবহৃত হয়, আর Do While এবং Do Until লুপ শর্ত পূর্ণ হওয়া পর্যন্ত চলতে থাকে। প্রতিটি লুপের নিজস্ব ব্যবহার ক্ষেত্র এবং সুবিধা রয়েছে, যেগুলো আমাদের কোডের কার্যকারিতা এবং দক্ষতা বাড়াতে সাহায্য করে।